home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / procssng / ccs / ccs-11tl.lha / lbl / xview / segal / mask_grow.G < prev    next >
Encoding:
Text File  |  1992-12-13  |  49.1 KB  |  1,657 lines

  1. ;GIL-3
  2. (
  3. (
  4.     :type                   :menu
  5.     :name                   menu_set_grow_parameters
  6.     :help                   ""
  7.     :columns                1
  8.     :menu-type              :command
  9.     :menu-handler           nil
  10.     :menu-title             "Set Params"
  11.     :menu-item-labels       ("Default" "From edit mask" "From point list" )
  12.     :menu-item-label-types  (:string :string :string )
  13.     :menu-item-states       (:active :active :active )
  14.     :menu-item-defaults     (nil nil nil )
  15.     :initial-selections     (nil nil nil )
  16.     :menu-item-handlers     (nil nil nil )
  17.     :menu-item-menus        (nil nil nil )
  18.     :menu-item-colors       ("" "" "" )
  19.     :pinnable               t
  20.     :user-data              ()
  21.     :actions                (
  22.         (
  23.         :from                   (menu_set_grow_parameters "From edit mask")
  24.         :when                   (Notify )
  25.         :to                     (menu_set_grow_parameters "From edit mask")
  26.         :function_type          ExecuteCode
  27.         :arg_type               (:string)
  28.         :action                 ("auto_set_grow_params(SEED_EDIT);")
  29.         )
  30.         (
  31.         :from                   (menu_set_grow_parameters "From point list")
  32.         :when                   (Notify )
  33.         :to                     (menu_set_grow_parameters "From point list")
  34.         :function_type          ExecuteCode
  35.         :arg_type               (:string)
  36.         :action                 ("auto_set_grow_params(SEED_PTS);")
  37.         )
  38.         (
  39.         :from                   (menu_set_grow_parameters "Default")
  40.         :when                   (Notify )
  41.         :to                     (menu_set_grow_parameters "Default")
  42.         :function_type          ExecuteCode
  43.         :arg_type               (:string)
  44.         :action                 ("if(grow.apply_thresholds) {
  45.     grow.threshold_min = 0;
  46.     grow.threshold_max = 255;
  47. }
  48. if(grow.apply_gradient) {
  49.     grow.gradient_rad = 1;
  50.     grow.gradient_min = 0;
  51.     grow.gradient_max = 100;
  52. }
  53. if(grow.apply_bridge) {
  54.     grow.bridge_dist = 5;
  55.     grow.bridge_min = 1;
  56.     grow.bridge_max = 8;
  57. }
  58.  
  59. /* reset ui fields */
  60. set_grow_params();")
  61.         )
  62.     )
  63. )
  64. (
  65.     :type                   :popup-window
  66.     :name                   pop_mask_grow
  67.     :owner                  win
  68.     :width                  381
  69.     :height                 359
  70.     :background-color       ""
  71.     :foreground-color       ""
  72.     :label                  "Segal: Mask Growing"
  73.     :label-type             :string
  74.     :initial-state          :invisible
  75.     :show-footer            nil
  76.     :resizable              nil
  77.     :pinned                 t
  78.     :done-handler           nil
  79.     :event-handler          nil
  80.     :user-data              ()
  81.     :actions                ()
  82. )
  83. (
  84.     :type                   :control-area
  85.     :name                   controls
  86.     :owner                  pop_mask_grow
  87.     :help                   ""
  88.     :x                      0
  89.     :y                      0
  90.     :width                  381
  91.     :height                 359
  92.     :background-color       ""
  93.     :foreground-color       ""
  94.     :initial-state          :visible
  95.     :show-border            nil
  96.     :menu                   nil
  97.     :event-handler          nil
  98.     :user-data              ()
  99.     :actions                ()
  100. )
  101. (
  102.     :type                   :setting
  103.     :name                   set_apply_threshold
  104.     :owner                  controls
  105.     :help                   ""
  106.     :x                      4
  107.     :y                      4
  108.     :width                  149
  109.     :height                 23
  110.     :value-x                85
  111.     :value-y                4
  112.     :rows                   0
  113.     :columns                1
  114.     :layout-type            :horizontal
  115.     :foreground-color       ""
  116.     :setting-type           :check
  117.     :selection-required     t
  118.     :label                  "Threshold:"
  119.     :label-type             :string
  120.     :notify-handler         nil
  121.     :event-handler          nil
  122.     :choices                ("apply" )
  123.     :choice-label-types     (:string )
  124.     :choice-colors          ("" )
  125.     :initial-selections     (t )
  126.     :initial-state          :active
  127.     :user-data              ()
  128.     :actions                (
  129.         (
  130.         :from                   (pop_mask_grow set_apply_threshold)
  131.         :when                   (Notify )
  132.         :to                     (pop_mask_grow set_apply_threshold)
  133.         :function_type          ExecuteCode
  134.         :arg_type               (:string)
  135.         :action                 ("if(grow.apply_thresholds) {
  136.     grow.apply_thresholds = FALSE;
  137.     xv_set(Mask_grow_pop_mask_grow->set_threshold_max,
  138.         PANEL_INACTIVE, TRUE,
  139.         NULL);
  140.     xv_set(Mask_grow_pop_mask_grow->set_threshold_min,
  141.         PANEL_INACTIVE, TRUE,
  142.         NULL);
  143. }
  144. else {
  145.     grow.apply_thresholds = TRUE;
  146.     xv_set(Mask_grow_pop_mask_grow->set_threshold_max,
  147.         PANEL_INACTIVE, FALSE,
  148.         NULL);
  149.     xv_set(Mask_grow_pop_mask_grow->set_threshold_min,
  150.         PANEL_INACTIVE, FALSE,
  151.         NULL);
  152. }")
  153.         )
  154.     )
  155. )
  156. (
  157.     :type                   :slider
  158.     :name                   set_threshold_max
  159.     :owner                  controls
  160.     :help                   "Setting: in the paint image, point to the brightest
  161.     pixel that is still part of the region of
  162.     interest.  Hold down the ctrl button and
  163.     click the right mouse button.
  164.  
  165. Effect: when flooding, the algorithm only chooses
  166.     pixels whose value is <= to the upper
  167.     threshold."
  168.     :x                      18
  169.     :y                      30
  170.     :width                  353
  171.     :height                 20
  172.     :value-x                52
  173.     :value-y                30
  174.     :slider-width           256
  175.     :ticks                  0
  176.     :foreground-color       ""
  177.     :label                  "max:"
  178.     :label-type             :string
  179.     :layout-type            :horizontal
  180.     :orientation            :horizontal
  181.     :show-endboxes          nil
  182.     :show-range             nil
  183.     :show-value             t
  184.     :min-value              0
  185.     :max-value              255
  186.     :min-value-string       ""
  187.     :max-value-string       ""
  188.     :min-tick-string        ""
  189.     :max-tick-string        ""
  190.     :initial-value          255
  191.     :initial-state          :active
  192.     :notify-handler         nil
  193.     :event-handler          nil
  194.     :user-data              ()
  195.     :actions                (
  196.         (
  197.         :from                   (pop_mask_grow set_threshold_max)
  198.         :when                   (Notify )
  199.         :to                     (pop_mask_grow set_threshold_max)
  200.         :function_type          ExecuteCode
  201.         :arg_type               (:string)
  202.         :action                 ("grow.threshold_max = value;
  203. if(value < grow.threshold_min) {
  204.     grow.threshold_min = value;
  205.     xv_set(Mask_grow_pop_mask_grow->set_threshold_min,
  206.         PANEL_VALUE, value,
  207.         NULL);
  208. }")
  209.         )
  210.     )
  211. )
  212. (
  213.     :type                   :slider
  214.     :name                   set_threshold_min
  215.     :owner                  controls
  216.     :help                   "Setting: in the paint image, point to the darkest
  217.     pixel that is still part of the region of
  218.     interest.  Hold down the ctrl button and
  219.     click the left mouse button.
  220.  
  221. Effect: when flooding, the algorithm only chooses
  222.     pixels whose value is >= to the lower
  223.     threshold."
  224.     :x                      18
  225.     :y                      54
  226.     :width                  352
  227.     :height                 20
  228.     :value-x                51
  229.     :value-y                54
  230.     :slider-width           256
  231.     :ticks                  0
  232.     :foreground-color       ""
  233.     :label                  "min:"
  234.     :label-type             :string
  235.     :layout-type            :horizontal
  236.     :orientation            :horizontal
  237.     :show-endboxes          nil
  238.     :show-range             nil
  239.     :show-value             t
  240.     :min-value              0
  241.     :max-value              255
  242.     :min-value-string       ""
  243.     :max-value-string       ""
  244.     :min-tick-string        ""
  245.     :max-tick-string        ""
  246.     :initial-value          0
  247.     :initial-state          :active
  248.     :notify-handler         nil
  249.     :event-handler          nil
  250.     :user-data              ()
  251.     :actions                (
  252.         (
  253.         :from                   (pop_mask_grow set_threshold_min)
  254.         :when                   (Notify )
  255.         :to                     (pop_mask_grow set_threshold_min)
  256.         :function_type          ExecuteCode
  257.         :arg_type               (:string)
  258.         :action                 ("grow.threshold_min = value;
  259. if(value > grow.threshold_max) {
  260.     grow.threshold_max = value;
  261.     xv_set(Mask_grow_pop_mask_grow->set_threshold_max,
  262.         PANEL_VALUE, value,
  263.         NULL);
  264. }")
  265.         )
  266.     )
  267. )
  268. (
  269.     :type                   :setting
  270.     :name                   set_apply_gradient
  271.     :owner                  controls
  272.     :help                   ""
  273.     :x                      4
  274.     :y                      72
  275.     :width                  137
  276.     :height                 23
  277.     :value-x                73
  278.     :value-y                72
  279.     :rows                   0
  280.     :columns                1
  281.     :layout-type            :horizontal
  282.     :foreground-color       ""
  283.     :setting-type           :check
  284.     :selection-required     t
  285.     :label                  "Gradient:"
  286.     :label-type             :string
  287.     :notify-handler         nil
  288.     :event-handler          nil
  289.     :choices                ("apply" )
  290.     :choice-label-types     (:string )
  291.     :choice-colors          ("" )
  292.     :initial-selections     (t )
  293.     :initial-state          :active
  294.     :user-data              ()
  295.     :actions                (
  296.         (
  297.         :from                   (pop_mask_grow set_apply_gradient)
  298.         :when                   (Notify )
  299.         :to                     (pop_mask_grow set_apply_gradient)
  300.         :function_type          ExecuteCode
  301.         :arg_type               (:string)
  302.         :action                 ("if(grow.apply_gradient) {
  303.     grow.apply_gradient = FALSE;
  304.     xv_set(Mask_grow_pop_mask_grow->set_gradient_radius,
  305.         PANEL_INACTIVE, TRUE,
  306.         NULL);
  307.     xv_set(Mask_grow_pop_mask_grow->set_gradient_max,
  308.         PANEL_INACTIVE, TRUE,
  309.         NULL);
  310.     xv_set(Mask_grow_pop_mask_grow->set_gradient_min,
  311.         PANEL_INACTIVE, TRUE,
  312.         NULL);
  313. }
  314. else {
  315.     grow.apply_gradient = TRUE;
  316.     xv_set(Mask_grow_pop_mask_grow->set_gradient_radius,
  317.         PANEL_INACTIVE, FALSE,
  318.         NULL);
  319.     xv_set(Mask_grow_pop_mask_grow->set_gradient_max,
  320.         PANEL_INACTIVE, FALSE,
  321.         NULL);
  322.     xv_set(Mask_grow_pop_mask_grow->set_gradient_min,
  323.         PANEL_INACTIVE, FALSE,
  324.         NULL);
  325. }")
  326.         )
  327.     )
  328. )
  329. (
  330.     :type                   :slider
  331.     :name                   set_gradient_radius
  332.     :owner                  controls
  333.     :help                   ""
  334.     :x                      18
  335.     :y                      100
  336.     :width                  145
  337.     :height                 20
  338.     :value-x                68
  339.     :value-y                100
  340.     :slider-width           32
  341.     :ticks                  0
  342.     :foreground-color       ""
  343.     :label                  "radius:"
  344.     :label-type             :string
  345.     :layout-type            :horizontal
  346.     :orientation            :horizontal
  347.     :show-endboxes          nil
  348.     :show-range             nil
  349.     :show-value             t
  350.     :min-value              1
  351.     :max-value              8
  352.     :min-value-string       ""
  353.     :max-value-string       ""
  354.     :min-tick-string        ""
  355.     :max-tick-string        ""
  356.     :initial-value          1
  357.     :initial-state          :active
  358.     :notify-handler         nil
  359.     :event-handler          nil
  360.     :user-data              ()
  361.     :actions                (
  362.         (
  363.         :from                   (pop_mask_grow set_gradient_radius)
  364.         :when                   (Notify )
  365.         :to                     (pop_mask_grow set_gradient_radius)
  366.         :function_type          ExecuteCode
  367.         :arg_type               (:string)
  368.         :action                 ("grow.gradient_rad = value;
  369. ")
  370.         )
  371.     )
  372. )
  373. (
  374.     :type                   :slider
  375.     :name                   set_gradient_max
  376.     :owner                  controls
  377.     :help                   "Setting: in the paint image, point to an edge
  378.     pixel that is still part of the region of
  379.     interest.  Hold down the ctrl button and
  380.     click the right middle button.
  381.  
  382. Effect: when flooding, the algorithm only chooses
  383.     pixels whose gradient is <= to the maximum
  384.     gradient."
  385.     :x                      18
  386.     :y                      122
  387.     :width                  353
  388.     :height                 20
  389.     :value-x                52
  390.     :value-y                122
  391.     :slider-width           256
  392.     :ticks                  0
  393.     :foreground-color       ""
  394.     :label                  "max:"
  395.     :label-type             :string
  396.     :layout-type            :horizontal
  397.     :orientation            :horizontal
  398.     :show-endboxes          nil
  399.     :show-range             nil
  400.     :show-value             t
  401.     :min-value              0
  402.     :max-value              5000
  403.     :min-value-string       ""
  404.     :max-value-string       ""
  405.     :min-tick-string        ""
  406.     :max-tick-string        ""
  407.     :initial-value          100
  408.     :initial-state          :active
  409.     :notify-handler         nil
  410.     :event-handler          nil
  411.     :user-data              ()
  412.     :actions                (
  413.         (
  414.         :from                   (pop_mask_grow set_gradient_max)
  415.         :when                   (Notify )
  416.         :to                     (pop_mask_grow set_gradient_max)
  417.         :function_type          ExecuteCode
  418.         :arg_type               (:string)
  419.         :action                 ("grow.gradient_max = value;
  420. if(value < grow.gradient_min) {
  421.     grow.gradient_min = value;
  422.     xv_set(Mask_grow_pop_mask_grow->set_gradient_min,
  423.         PANEL_VALUE, value,
  424.         NULL);
  425. }")
  426.         )
  427.     )
  428. )
  429. (
  430.     :type                   :slider
  431.     :name                   set_gradient_min
  432.     :owner                  controls
  433.     :help                   ""
  434.     :x                      18
  435.     :y                      146
  436.     :width                  352
  437.     :height                 20
  438.     :value-x                51
  439.     :value-y                146
  440.     :slider-width           256
  441.     :ticks                  0
  442.     :foreground-color       ""
  443.     :label                  "min:"
  444.     :label-type             :string
  445.     :layout-type            :horizontal
  446.     :orientation            :horizontal
  447.     :show-endboxes          nil
  448.     :show-range             nil
  449.     :show-value             t
  450.     :min-value              0
  451.     :max-value              5000
  452.     :min-value-string       ""
  453.     :max-value-string       ""
  454.     :min-tick-string        ""
  455.     :max-tick-string        ""
  456.     :initial-value          0
  457.     :initial-state          :active
  458.     :notify-handler         nil
  459.     :event-handler          nil
  460.     :user-data              ()
  461.     :actions                (
  462.         (
  463.         :from                   (pop_mask_grow set_gradient_min)
  464.         :when                   (Notify )
  465.         :to                     (pop_mask_grow set_gradient_min)
  466.         :function_type          ExecuteCode
  467.         :arg_type               (:string)
  468.         :action                 ("grow.gradient_min = value;
  469. if(value > grow.gradient_max) {
  470.     grow.gradient_max = value;
  471.     xv_set(Mask_grow_pop_mask_grow->set_gradient_max,
  472.         PANEL_VALUE, value,
  473.         NULL);
  474. }")
  475.         )
  476.     )
  477. )
  478. (
  479.     :type                   :setting
  480.     :name                   set_apply_bridge
  481.     :owner                  controls
  482.     :help                   ""
  483.     :x                      4
  484.     :y                      164
  485.     :width                  123
  486.     :height                 23
  487.     :value-x                59
  488.     :value-y                164
  489.     :rows                   1
  490.     :columns                0
  491.     :layout-type            :horizontal
  492.     :foreground-color       ""
  493.     :setting-type           :check
  494.     :selection-required     t
  495.     :label                  "Bridge:"
  496.     :label-type             :string
  497.     :notify-handler         nil
  498.     :event-handler          nil
  499.     :choices                ("apply" )
  500.     :choice-label-types     (:string )
  501.     :choice-colors          ("" )
  502.     :initial-selections     (t )
  503.     :initial-state          :active
  504.     :user-data              ()
  505.     :actions                (
  506.         (
  507.         :from                   (pop_mask_grow set_apply_bridge)
  508.         :when                   (Notify )
  509.         :to                     (pop_mask_grow set_apply_bridge)
  510.         :function_type          ExecuteCode
  511.         :arg_type               (:string)
  512.         :action                 ("if(grow.apply_bridge) {
  513.     grow.apply_bridge = FALSE;
  514.     xv_set(Mask_grow_pop_mask_grow->set_bridge_distance,
  515.         PANEL_INACTIVE, TRUE,
  516.         NULL);
  517.     xv_set(Mask_grow_pop_mask_grow->set_bridge_max,
  518.         PANEL_INACTIVE, TRUE,
  519.         NULL);
  520.     xv_set(Mask_grow_pop_mask_grow->set_bridge_min,
  521.         PANEL_INACTIVE, TRUE,
  522.         NULL);
  523. }
  524. else {
  525.     grow.apply_bridge = TRUE;
  526.     xv_set(Mask_grow_pop_mask_grow->set_bridge_distance,
  527.         PANEL_INACTIVE, FALSE,
  528.         NULL);
  529.     xv_set(Mask_grow_pop_mask_grow->set_bridge_max,
  530.         PANEL_INACTIVE, FALSE,
  531.         NULL);
  532.     xv_set(Mask_grow_pop_mask_grow->set_bridge_min,
  533.         PANEL_INACTIVE, FALSE,
  534.         NULL);
  535. }")
  536.         )
  537.     )
  538. )
  539. (
  540.     :type                   :slider
  541.     :name                   set_bridge_distance
  542.     :owner                  controls
  543.     :help                   ""
  544.     :x                      18
  545.     :y                      190
  546.     :width                  351
  547.     :height                 20
  548.     :value-x                50
  549.     :value-y                190
  550.     :slider-width           256
  551.     :ticks                  0
  552.     :foreground-color       ""
  553.     :label                  "dist:"
  554.     :label-type             :string
  555.     :layout-type            :horizontal
  556.     :orientation            :horizontal
  557.     :show-endboxes          nil
  558.     :show-range             nil
  559.     :show-value             t
  560.     :min-value              0
  561.     :max-value              100
  562.     :min-value-string       ""
  563.     :max-value-string       ""
  564.     :min-tick-string        ""
  565.     :max-tick-string        ""
  566.     :initial-value          5
  567.     :initial-state          :active
  568.     :notify-handler         nil
  569.     :event-handler          nil
  570.     :user-data              ()
  571.     :actions                (
  572.         (
  573.         :from                   (pop_mask_grow set_bridge_distance)
  574.         :when                   (Notify )
  575.         :to                     (pop_mask_grow set_bridge_distance)
  576.         :function_type          ExecuteCode
  577.         :arg_type               (:string)
  578.         :action                 ("grow.bridge_dist = value;")
  579.         )
  580.     )
  581. )
  582. (
  583.     :type                   :slider
  584.     :name                   set_bridge_max
  585.     :owner                  controls
  586.     :help                   ""
  587.     :x                      18
  588.     :y                      212
  589.     :width                  129
  590.     :height                 20
  591.     :value-x                52
  592.     :value-y                212
  593.     :slider-width           32
  594.     :ticks                  0
  595.     :foreground-color       ""
  596.     :label                  "max:"
  597.     :label-type             :string
  598.     :layout-type            :horizontal
  599.     :orientation            :horizontal
  600.     :show-endboxes          nil
  601.     :show-range             nil
  602.     :show-value             t
  603.     :min-value              1
  604.     :max-value              8
  605.     :min-value-string       ""
  606.     :max-value-string       ""
  607.     :min-tick-string        ""
  608.     :max-tick-string        ""
  609.     :initial-value          8
  610.     :initial-state          :active
  611.     :notify-handler         nil
  612.     :event-handler          nil
  613.     :user-data              ()
  614.     :actions                (
  615.         (
  616.         :from                   (pop_mask_grow set_bridge_max)
  617.         :when                   (Notify )
  618.         :to                     (pop_mask_grow set_bridge_max)
  619.         :function_type          ExecuteCode
  620.         :arg_type               (:string)
  621.         :action                 ("grow.bridge_max = value;
  622. if(value < grow.bridge_min) {
  623.     grow.bridge_min = value;
  624.     xv_set(Mask_grow_pop_mask_grow->set_bridge_min,
  625.         PANEL_VALUE, value,
  626.         NULL);
  627. }")
  628.         )
  629.     )
  630. )
  631. (
  632.     :type                   :slider
  633.     :name                   set_bridge_min
  634.     :owner                  controls
  635.     :help                   ""
  636.     :x                      18
  637.     :y                      236
  638.     :width                  128
  639.     :height                 20
  640.     :value-x                51
  641.     :value-y                236
  642.     :slider-width           32
  643.     :ticks                  0
  644.     :foreground-color       ""
  645.     :label                  "min:"
  646.     :label-type             :string
  647.     :layout-type            :horizontal
  648.     :orientation            :horizontal
  649.     :show-endboxes          nil
  650.     :show-range             nil
  651.     :show-value             t
  652.     :min-value              1
  653.     :max-value              8
  654.     :min-value-string       ""
  655.     :max-value-string       ""
  656.     :min-tick-string        ""
  657.     :max-tick-string        ""
  658.     :initial-value          1
  659.     :initial-state          :active
  660.     :notify-handler         nil
  661.     :event-handler          nil
  662.     :user-data              ()
  663.     :actions                (
  664.         (
  665.         :from                   (pop_mask_grow set_bridge_min)
  666.         :when                   (Notify )
  667.         :to                     (pop_mask_grow set_bridge_min)
  668.         :function_type          ExecuteCode
  669.         :arg_type               (:string)
  670.         :action                 ("grow.bridge_min = value;
  671. if(value > grow.bridge_max) {
  672.     grow.bridge_max = value;
  673.     xv_set(Mask_grow_pop_mask_grow->set_bridge_max,
  674.         PANEL_VALUE, value,
  675.         NULL);
  676. }")
  677.         )
  678.     )
  679. )
  680. (
  681.     :type                   :setting
  682.     :name                   set_extent
  683.     :owner                  controls
  684.     :help                   ""
  685.     :x                      4
  686.     :y                      260
  687.     :width                  343
  688.     :height                 23
  689.     :value-x                109
  690.     :value-y                260
  691.     :rows                   1
  692.     :columns                0
  693.     :layout-type            :horizontal
  694.     :foreground-color       ""
  695.     :setting-type           :stack
  696.     :selection-required     t
  697.     :label                  "Growth extent:"
  698.     :label-type             :string
  699.     :notify-handler         nil
  700.     :event-handler          nil
  701.     :choices                ("This frame to this frame" "Beginning frame to ending frame" "This frame to all frames" )
  702.     :choice-label-types     (:string :string :string )
  703.     :choice-colors          ("" "" "" )
  704.     :choice-defaults        (nil nil nil )
  705.     :initial-selections     (nil nil nil )
  706.     :initial-state          :active
  707.     :user-data              ()
  708.     :actions                (
  709.         (
  710.         :from                   (pop_mask_grow set_extent "This frame to all frames")
  711.         :when                   (Notify )
  712.         :to                     (pop_mask_grow set_extent "This frame to all frames")
  713.         :function_type          ExecuteCode
  714.         :arg_type               (:string)
  715.         :action                 ("grow.extent = GROW_ALL;")
  716.         )
  717.         (
  718.         :from                   (pop_mask_grow set_extent "Beginning frame to ending frame")
  719.         :when                   (Notify )
  720.         :to                     (pop_mask_grow beg_frame)
  721.         :function_type          :user_defined
  722.         :arg_type               ()
  723.         :action                 (Enable)
  724.         )
  725.         (
  726.         :from                   (pop_mask_grow set_extent "This frame to this frame")
  727.         :when                   (Notify )
  728.         :to                     (pop_mask_grow beg_frame)
  729.         :function_type          :user_defined
  730.         :arg_type               ()
  731.         :action                 (Disable)
  732.         )
  733.         (
  734.         :from                   (pop_mask_grow set_extent "This frame to all frames")
  735.         :when                   (Notify )
  736.         :to                     (pop_mask_grow beg_frame)
  737.         :function_type          :user_defined
  738.         :arg_type               ()
  739.         :action                 (Disable)
  740.         )
  741.         (
  742.         :from                   (pop_mask_grow set_extent "Beginning frame to ending frame")
  743.         :when                   (Notify )
  744.         :to                     (pop_mask_grow end_frame)
  745.         :function_type          :user_defined
  746.         :arg_type               ()
  747.         :action                 (Enable)
  748.         )
  749.         (
  750.         :from                   (pop_mask_grow set_extent "This frame to this frame")
  751.         :when                   (Notify )
  752.         :to                     (pop_mask_grow end_frame)
  753.         :function_type          :user_defined
  754.         :arg_type               ()
  755.         :action                 (Disable)
  756.         )
  757.         (
  758.         :from                   (pop_mask_grow set_extent "This frame to all frames")
  759.         :when                   (Notify )
  760.         :to                     (pop_mask_grow end_frame)
  761.         :function_type          :user_defined
  762.         :arg_type               ()
  763.         :action                 (Disable)
  764.         )
  765.         (
  766.         :from                   (pop_mask_grow set_extent "This frame to this frame")
  767.         :when                   (Notify )
  768.         :to                     (pop_mask_grow but_shrink)
  769.         :function_type          ExecuteCode
  770.         :arg_type               (:string)
  771.         :action                 ("grow.extent = GROW_FRAME;")
  772.         )
  773.         (
  774.         :from                   (pop_mask_grow set_extent "Beginning frame to ending frame")
  775.         :when                   (Notify )
  776.         :to                     (pop_mask_grow but_shrink)
  777.         :function_type          ExecuteCode
  778.         :arg_type               (:string)
  779.         :action                 ("grow.extent = GROW_BEG_TO_END;
  780. region.beg_frame = win[grow.swin].f;
  781. region.end_frame = win[grow.swin].f;
  782. xv_set(Mask_grow_pop_mask_grow->beg_frame,
  783.     PANEL_VALUE, region.beg_frame,
  784.     NULL);
  785. xv_set(Mask_grow_pop_mask_grow->end_frame,
  786.     PANEL_VALUE, region.end_frame,
  787.     NULL);")
  788.         )
  789.     )
  790. )
  791. (
  792.     :type                   :text-field
  793.     :name                   beg_frame
  794.     :owner                  controls
  795.     :help                   ""
  796.     :x                      32
  797.     :y                      288
  798.     :width                  162
  799.     :height                 15
  800.     :value-x                123
  801.     :value-y                288
  802.     :value-length           4
  803.     :stored-length          5
  804.     :rows                   3
  805.     :foreground-color       ""
  806.     :text-type              :numeric
  807.     :label                  "From Frame:"
  808.     :label-type             :string
  809.     :layout-type            :horizontal
  810.     :value-underlined       t
  811.     :max-value              9999
  812.     :min-value              0
  813.     :initial-value          0
  814.     :initial-state          :inactive
  815.     :read-only              nil
  816.     :notify-handler         nil
  817.     :event-handler          nil
  818.     :user-data              ()
  819.     :actions                (
  820.         (
  821.         :from                   (pop_mask_grow beg_frame)
  822.         :when                   (Notify )
  823.         :to                     (pop_mask_grow beg_frame)
  824.         :function_type          ExecuteCode
  825.         :arg_type               (:string)
  826.         :action                 ("region.beg_frame = value;
  827. region.end_frame = value;
  828. xv_set(Mask_grow_pop_mask_grow->end_frame,
  829.     PANEL_VALUE, value,
  830.     NULL);")
  831.         )
  832.     )
  833. )
  834. (
  835.     :type                   :text-field
  836.     :name                   end_frame
  837.     :owner                  controls
  838.     :help                   ""
  839.     :x                      210
  840.     :y                      288
  841.     :width                  145
  842.     :height                 15
  843.     :value-x                284
  844.     :value-y                288
  845.     :value-length           4
  846.     :stored-length          5
  847.     :rows                   3
  848.     :foreground-color       ""
  849.     :text-type              :numeric
  850.     :label                  "To Frame:"
  851.     :label-type             :string
  852.     :layout-type            :horizontal
  853.     :value-underlined       t
  854.     :max-value              9999
  855.     :min-value              0
  856.     :initial-value          0
  857.     :initial-state          :inactive
  858.     :read-only              nil
  859.     :notify-handler         nil
  860.     :event-handler          nil
  861.     :user-data              ()
  862.     :actions                (
  863.         (
  864.         :from                   (pop_mask_grow end_frame)
  865.         :when                   (Notify )
  866.         :to                     (pop_mask_grow end_frame)
  867.         :function_type          ExecuteCode
  868.         :arg_type               (:string)
  869.         :action                 ("region.end_frame = value;")
  870.         )
  871.     )
  872. )
  873. (
  874.     :type                   :button
  875.     :name                   but_grow
  876.     :owner                  controls
  877.     :help                   ""
  878.     :x                      36
  879.     :y                      312
  880.     :width                  50
  881.     :height                 19
  882.     :constant-width         nil
  883.     :button-type            :normal
  884.     :foreground-color       ""
  885.     :label                  "Grow"
  886.     :label-type             :string
  887.     :initial-state          :active
  888.     :menu                   nil
  889.     :notify-handler         nil
  890.     :event-handler          nil
  891.     :user-data              ()
  892.     :actions                (
  893.         (
  894.         :from                   (pop_mask_grow but_grow)
  895.         :when                   (Notify )
  896.         :to                     (pop_mask_grow but_grow)
  897.         :function_type          ExecuteCode
  898.         :arg_type               (:string)
  899.         :action                 ("grow.direction = DIR_GROW;
  900. grow_mask();")
  901.         )
  902.         (
  903.         :from                   (pop_mask_grow but_grow)
  904.         :when                   (Notify )
  905.         :to                     (pop_mask_grow but_stop)
  906.         :function_type          :user_defined
  907.         :arg_type               ()
  908.         :action                 (Enable)
  909.         )
  910.         (
  911.         :from                   (pop_mask_grow but_grow)
  912.         :when                   (Notify )
  913.         :to                     (pop_mask_grow but_continue)
  914.         :function_type          :user_defined
  915.         :arg_type               ()
  916.         :action                 (Disable)
  917.         )
  918.         (
  919.         :from                   (pop_mask_grow but_grow)
  920.         :when                   (Notify )
  921.         :to                     (pop_mask_grow but_undo)
  922.         :function_type          :user_defined
  923.         :arg_type               ()
  924.         :action                 (Enable)
  925.         )
  926.     )
  927. )
  928. (
  929.     :type                   :button
  930.     :name                   but_shrink
  931.     :owner                  controls
  932.     :help                   ""
  933.     :x                      94
  934.     :y                      312
  935.     :width                  57
  936.     :height                 19
  937.     :constant-width         nil
  938.     :button-type            :normal
  939.     :foreground-color       ""
  940.     :label                  "Shrink"
  941.     :label-type             :string
  942.     :initial-state          :active
  943.     :menu                   nil
  944.     :notify-handler         nil
  945.     :event-handler          nil
  946.     :user-data              ()
  947.     :actions                (
  948.         (
  949.         :from                   (pop_mask_grow but_shrink)
  950.         :when                   (Notify )
  951.         :to                     (pop_mask_grow but_shrink)
  952.         :function_type          ExecuteCode
  953.         :arg_type               (:string)
  954.         :action                 ("grow.direction = DIR_SHRINK;
  955. grow_mask();")
  956.         )
  957.         (
  958.         :from                   (pop_mask_grow but_shrink)
  959.         :when                   (Notify )
  960.         :to                     (pop_mask_grow but_stop)
  961.         :function_type          :user_defined
  962.         :arg_type               ()
  963.         :action                 (Enable)
  964.         )
  965.         (
  966.         :from                   (pop_mask_grow but_shrink)
  967.         :when                   (Notify )
  968.         :to                     (pop_mask_grow but_continue)
  969.         :function_type          :user_defined
  970.         :arg_type               ()
  971.         :action                 (Disable)
  972.         )
  973.         (
  974.         :from                   (pop_mask_grow but_shrink)
  975.         :when                   (Notify )
  976.         :to                     (pop_mask_grow but_undo)
  977.         :function_type          :user_defined
  978.         :arg_type               ()
  979.         :action                 (Enable)
  980.         )
  981.     )
  982. )
  983. (
  984.     :type                   :button
  985.     :name                   but_stop
  986.     :owner                  controls
  987.     :help                   ""
  988.     :x                      159
  989.     :y                      312
  990.     :width                  45
  991.     :height                 19
  992.     :constant-width         nil
  993.     :button-type            :normal
  994.     :foreground-color       ""
  995.     :label                  "Stop"
  996.     :label-type             :string
  997.     :initial-state          :inactive
  998.     :menu                   nil
  999.     :notify-handler         nil
  1000.     :event-handler          nil
  1001.     :user-data              ()
  1002.     :actions                (
  1003.         (
  1004.         :from                   (pop_mask_grow but_stop)
  1005.         :when                   (Notify )
  1006.         :to                     (pop_mask_grow but_stop)
  1007.         :function_type          :user_defined
  1008.         :arg_type               ()
  1009.         :action                 (Disable)
  1010.         )
  1011.         (
  1012.         :from                   (pop_mask_grow but_stop)
  1013.         :when                   (Notify )
  1014.         :to                     (pop_mask_grow but_stop)
  1015.         :function_type          ExecuteCode
  1016.         :arg_type               (:string)
  1017.         :action                 ("notify_set_itimer_func(Mask_grow_pop_mask_grow->pop_mask_grow,
  1018.     NOTIFY_FUNC_NULL, ITIMER_REAL, NULL, NULL);")
  1019.         )
  1020.         (
  1021.         :from                   (pop_mask_grow but_stop)
  1022.         :when                   (Notify )
  1023.         :to                     (pop_mask_grow but_continue)
  1024.         :function_type          :user_defined
  1025.         :arg_type               ()
  1026.         :action                 (Enable)
  1027.         )
  1028.     )
  1029. )
  1030. (
  1031.     :type                   :button
  1032.     :name                   but_continue
  1033.     :owner                  controls
  1034.     :help                   ""
  1035.     :x                      212
  1036.     :y                      312
  1037.     :width                  74
  1038.     :height                 19
  1039.     :constant-width         nil
  1040.     :button-type            :normal
  1041.     :foreground-color       ""
  1042.     :label                  "Continue"
  1043.     :label-type             :string
  1044.     :initial-state          :inactive
  1045.     :menu                   nil
  1046.     :notify-handler         nil
  1047.     :event-handler          nil
  1048.     :user-data              ()
  1049.     :actions                (
  1050.         (
  1051.         :from                   (pop_mask_grow but_continue)
  1052.         :when                   (Notify )
  1053.         :to                     (pop_mask_grow but_stop)
  1054.         :function_type          :user_defined
  1055.         :arg_type               ()
  1056.         :action                 (Enable)
  1057.         )
  1058.         (
  1059.         :from                   (pop_mask_grow but_continue)
  1060.         :when                   (Notify )
  1061.         :to                     (pop_mask_grow but_continue)
  1062.         :function_type          :user_defined
  1063.         :arg_type               ()
  1064.         :action                 (Disable)
  1065.         )
  1066.         (
  1067.         :from                   (pop_mask_grow but_continue)
  1068.         :when                   (Notify )
  1069.         :to                     (pop_mask_grow but_continue)
  1070.         :function_type          ExecuteCode
  1071.         :arg_type               (:string)
  1072.         :action                 ("go_grow_edges();")
  1073.         )
  1074.     )
  1075. )
  1076. (
  1077.     :type                   :button
  1078.     :name                   but_undo
  1079.     :owner                  controls
  1080.     :help                   ""
  1081.     :x                      294
  1082.     :y                      312
  1083.     :width                  50
  1084.     :height                 19
  1085.     :constant-width         nil
  1086.     :button-type            :normal
  1087.     :foreground-color       ""
  1088.     :label                  "Undo"
  1089.     :label-type             :string
  1090.     :initial-state          :inactive
  1091.     :menu                   nil
  1092.     :notify-handler         nil
  1093.     :event-handler          nil
  1094.     :user-data              ()
  1095.     :actions                (
  1096.         (
  1097.         :from                   (pop_mask_grow but_undo)
  1098.         :when                   (Notify )
  1099.         :to                     (pop_mask_grow but_stop)
  1100.         :function_type          :user_defined
  1101.         :arg_type               ()
  1102.         :action                 (Disable)
  1103.         )
  1104.         (
  1105.         :from                   (pop_mask_grow but_undo)
  1106.         :when                   (Notify )
  1107.         :to                     (pop_mask_grow but_continue)
  1108.         :function_type          :user_defined
  1109.         :arg_type               ()
  1110.         :action                 (Disable)
  1111.         )
  1112.         (
  1113.         :from                   (pop_mask_grow but_undo)
  1114.         :when                   (Notify )
  1115.         :to                     (pop_mask_grow but_undo)
  1116.         :function_type          :user_defined
  1117.         :arg_type               ()
  1118.         :action                 (Disable)
  1119.         )
  1120.         (
  1121.         :from                   (pop_mask_grow but_undo)
  1122.         :when                   (Notify )
  1123.         :to                     (pop_mask_grow but_undo)
  1124.         :function_type          ExecuteCode
  1125.         :arg_type               (:string)
  1126.         :action                 ("if(grow.extent == GROW_FRAME) load_mask_undo_2d(grow.swin);
  1127. else load_mask_undo_3d(segal.e_m);")
  1128.         )
  1129.     )
  1130. )
  1131. (
  1132.     :type                   :button
  1133.     :name                   but_set_grow_params
  1134.     :owner                  controls
  1135.     :help                   ""
  1136.     :x                      67
  1137.     :y                      336
  1138.     :width                  100
  1139.     :height                 19
  1140.     :constant-width         nil
  1141.     :button-type            :normal
  1142.     :foreground-color       ""
  1143.     :label                  "Set params"
  1144.     :label-type             :string
  1145.     :initial-state          :active
  1146.     :menu                   menu_set_grow_parameters
  1147.     :notify-handler         nil
  1148.     :event-handler          nil
  1149.     :user-data              ()
  1150.     :actions                ()
  1151. )
  1152. (
  1153.     :type                   :button
  1154.     :name                   but_options
  1155.     :owner                  controls
  1156.     :help                   ""
  1157.     :x                      175
  1158.     :y                      336
  1159.     :width                  79
  1160.     :height                 19
  1161.     :constant-width         nil
  1162.     :button-type            :normal
  1163.     :foreground-color       ""
  1164.     :label                  "Options ..."
  1165.     :label-type             :string
  1166.     :initial-state          :active
  1167.     :menu                   nil
  1168.     :notify-handler         nil
  1169.     :event-handler          nil
  1170.     :user-data              ()
  1171.     :actions                (
  1172.         (
  1173.         :from                   (pop_mask_grow but_options)
  1174.         :when                   (Notify )
  1175.         :to                     (pop_options)
  1176.         :function_type          :user_defined
  1177.         :arg_type               ()
  1178.         :action                 (Show)
  1179.         )
  1180.     )
  1181. )
  1182. (
  1183.     :type                   :button
  1184.     :name                   but_close_grow
  1185.     :owner                  controls
  1186.     :help                   ""
  1187.     :x                      262
  1188.     :y                      336
  1189.     :width                  51
  1190.     :height                 19
  1191.     :constant-width         nil
  1192.     :button-type            :normal
  1193.     :foreground-color       ""
  1194.     :label                  "Close"
  1195.     :label-type             :string
  1196.     :initial-state          :active
  1197.     :menu                   nil
  1198.     :notify-handler         nil
  1199.     :event-handler          nil
  1200.     :user-data              ()
  1201.     :actions                (
  1202.         (
  1203.         :from                   (pop_mask_grow but_close_grow)
  1204.         :when                   (Notify )
  1205.         :to                     (pop_mask_grow)
  1206.         :function_type          :user_defined
  1207.         :arg_type               ()
  1208.         :action                 (Hide)
  1209.         )
  1210.         (
  1211.         :from                   (pop_mask_grow but_close_grow)
  1212.         :when                   (Notify )
  1213.         :to                     (pop_mask_grow but_close_grow)
  1214.         :function_type          ExecuteCode
  1215.         :arg_type               (:string)
  1216.         :action                 ("if(!grow.stack_empty) redisplay_all();")
  1217.         )
  1218.         (
  1219.         :from                   (pop_mask_grow but_close_grow)
  1220.         :when                   (Notify )
  1221.         :to                     (pop_options)
  1222.         :function_type          :user_defined
  1223.         :arg_type               ()
  1224.         :action                 (Hide)
  1225.         )
  1226.     )
  1227. )
  1228. (
  1229.     :type                   :popup-window
  1230.     :name                   pop_options
  1231.     :owner                  win
  1232.     :width                  351
  1233.     :height                 190
  1234.     :background-color       ""
  1235.     :foreground-color       ""
  1236.     :label                  "Segal: Mask Growing Options"
  1237.     :label-type             :string
  1238.     :initial-state          :invisible
  1239.     :show-footer            nil
  1240.     :resizable              nil
  1241.     :pinned                 t
  1242.     :done-handler           nil
  1243.     :event-handler          nil
  1244.     :user-data              ()
  1245.     :actions                ()
  1246. )
  1247. (
  1248.     :type                   :control-area
  1249.     :name                   controls1
  1250.     :owner                  pop_options
  1251.     :help                   ""
  1252.     :x                      0
  1253.     :y                      0
  1254.     :width                  351
  1255.     :height                 190
  1256.     :background-color       ""
  1257.     :foreground-color       ""
  1258.     :initial-state          :visible
  1259.     :show-border            nil
  1260.     :menu                   nil
  1261.     :event-handler          nil
  1262.     :user-data              ()
  1263.     :actions                ()
  1264. )
  1265. (
  1266.     :type                   :setting
  1267.     :name                   set_grow_interractive
  1268.     :owner                  controls1
  1269.     :help                   ""
  1270.     :x                      12
  1271.     :y                      4
  1272.     :width                  199
  1273.     :height                 23
  1274.     :value-x                154
  1275.     :value-y                4
  1276.     :rows                   1
  1277.     :columns                0
  1278.     :layout-type            :horizontal
  1279.     :foreground-color       ""
  1280.     :setting-type           :stack
  1281.     :selection-required     t
  1282.     :label                  "Grow interractively:"
  1283.     :label-type             :string
  1284.     :notify-handler         nil
  1285.     :event-handler          nil
  1286.     :choices                ("Yes" "No" )
  1287.     :choice-label-types     (:string :string )
  1288.     :choice-colors          ("" "" )
  1289.     :choice-defaults        (t nil )
  1290.     :initial-selections     (t nil )
  1291.     :initial-state          :active
  1292.     :user-data              ()
  1293.     :actions                (
  1294.         (
  1295.         :from                   (pop_options set_grow_interractive "No")
  1296.         :when                   (Notify )
  1297.         :to                     (pop_options set_grow_interractive "No")
  1298.         :function_type          ExecuteCode
  1299.         :arg_type               (:string)
  1300.         :action                 ("grow.interractive = FALSE;")
  1301.         )
  1302.         (
  1303.         :from                   (pop_options set_grow_interractive "Yes")
  1304.         :when                   (Notify )
  1305.         :to                     (pop_options set_grow_interractive "Yes")
  1306.         :function_type          ExecuteCode
  1307.         :arg_type               (:string)
  1308.         :action                 ("grow.interractive = TRUE;")
  1309.         )
  1310.     )
  1311. )
  1312. (
  1313.     :type                   :setting
  1314.     :name                   set_starting_window
  1315.     :owner                  controls1
  1316.     :help                   ""
  1317.     :x                      33
  1318.     :y                      31
  1319.     :width                  264
  1320.     :height                 23
  1321.     :value-x                154
  1322.     :value-y                31
  1323.     :rows                   1
  1324.     :columns                0
  1325.     :layout-type            :horizontal
  1326.     :foreground-color       ""
  1327.     :setting-type           :stack
  1328.     :selection-required     t
  1329.     :label                  "Starting window:"
  1330.     :label-type             :string
  1331.     :notify-handler         nil
  1332.     :event-handler          nil
  1333.     :choices                ("Paint window" "View window - X" "View window - Y" "View window - Z" )
  1334.     :choice-label-types     (:string :string :string :string )
  1335.     :choice-colors          ("" "" "" "" )
  1336.     :choice-defaults        (nil nil nil nil )
  1337.     :initial-selections     (nil nil nil nil )
  1338.     :initial-state          :active
  1339.     :user-data              ()
  1340.     :actions                (
  1341.         (
  1342.         :from                   (pop_options set_starting_window "Paint window")
  1343.         :when                   (Notify )
  1344.         :to                     (pop_options set_starting_window "Paint window")
  1345.         :function_type          ExecuteCode
  1346.         :arg_type               (:string)
  1347.         :action                 ("grow.swin = WIN_PAINT;")
  1348.         )
  1349.         (
  1350.         :from                   (pop_options set_starting_window "View window - X")
  1351.         :when                   (Notify )
  1352.         :to                     (pop_options set_starting_window "View window - X")
  1353.         :function_type          ExecuteCode
  1354.         :arg_type               (:string)
  1355.         :action                 ("grow.swin = WIN_VX;")
  1356.         )
  1357.         (
  1358.         :from                   (pop_options set_starting_window "View window - Y")
  1359.         :when                   (Notify )
  1360.         :to                     (pop_options set_starting_window "View window - Y")
  1361.         :function_type          ExecuteCode
  1362.         :arg_type               (:string)
  1363.         :action                 ("grow.swin = WIN_VY;")
  1364.         )
  1365.         (
  1366.         :from                   (pop_options set_starting_window "View window - Z")
  1367.         :when                   (Notify )
  1368.         :to                     (pop_options set_starting_window "View window - Z")
  1369.         :function_type          ExecuteCode
  1370.         :arg_type               (:string)
  1371.         :action                 ("grow.swin = WIN_VZ;")
  1372.         )
  1373.     )
  1374. )
  1375. (
  1376.     :type                   :setting
  1377.     :name                   set_seed_points_source
  1378.     :owner                  controls1
  1379.     :help                   ""
  1380.     :x                      13
  1381.     :y                      58
  1382.     :width                  328
  1383.     :height                 23
  1384.     :value-x                154
  1385.     :value-y                58
  1386.     :rows                   1
  1387.     :columns                0
  1388.     :layout-type            :horizontal
  1389.     :foreground-color       ""
  1390.     :setting-type           :stack
  1391.     :selection-required     t
  1392.     :label                  "Seed points source:"
  1393.     :label-type             :string
  1394.     :notify-handler         nil
  1395.     :event-handler          nil
  1396.     :choices                ("Edit mask" "Point list" "Currently defined region" )
  1397.     :choice-label-types     (:string :string :string )
  1398.     :choice-colors          ("" "" "" )
  1399.     :choice-defaults        (nil nil nil )
  1400.     :initial-selections     (nil nil nil )
  1401.     :initial-state          :active
  1402.     :user-data              ()
  1403.     :actions                (
  1404.         (
  1405.         :from                   (pop_options set_seed_points_source "Currently defined region")
  1406.         :when                   (Notify )
  1407.         :to                     (pop_options set_seed_points_source "Currently defined region")
  1408.         :function_type          ExecuteCode
  1409.         :arg_type               (:string)
  1410.         :action                 ("grow.seed_pt_src = SEED_ROI;")
  1411.         )
  1412.         (
  1413.         :from                   (pop_options set_seed_points_source "Edit mask")
  1414.         :when                   (Notify )
  1415.         :to                     (pop_options set_seed_points_source "Edit mask")
  1416.         :function_type          ExecuteCode
  1417.         :arg_type               (:string)
  1418.         :action                 ("grow.seed_pt_src = SEED_EDIT;")
  1419.         )
  1420.         (
  1421.         :from                   (pop_options set_seed_points_source "Point list")
  1422.         :when                   (Notify )
  1423.         :to                     (pop_options set_seed_points_source "Point list")
  1424.         :function_type          ExecuteCode
  1425.         :arg_type               (:string)
  1426.         :action                 ("grow.seed_pt_src = SEED_PTS;")
  1427.         )
  1428.     )
  1429. )
  1430. (
  1431.     :type                   :setting
  1432.     :name                   set_overwrite
  1433.     :owner                  controls1
  1434.     :help                   ""
  1435.     :x                      18
  1436.     :y                      85
  1437.     :width                  193
  1438.     :height                 23
  1439.     :value-x                154
  1440.     :value-y                85
  1441.     :rows                   1
  1442.     :columns                0
  1443.     :layout-type            :horizontal
  1444.     :foreground-color       ""
  1445.     :setting-type           :stack
  1446.     :selection-required     t
  1447.     :label                  "Growth overwrites:"
  1448.     :label-type             :string
  1449.     :notify-handler         nil
  1450.     :event-handler          nil
  1451.     :choices                ("Yes" "No" )
  1452.     :choice-label-types     (:string :string )
  1453.     :choice-colors          ("" "" )
  1454.     :choice-defaults        (t nil )
  1455.     :initial-selections     (nil nil )
  1456.     :initial-state          :active
  1457.     :user-data              ()
  1458.     :actions                (
  1459.         (
  1460.         :from                   (pop_options set_overwrite "Yes")
  1461.         :when                   (Notify )
  1462.         :to                     (pop_mask_grow beg_frame)
  1463.         :function_type          ExecuteCode
  1464.         :arg_type               (:string)
  1465.         :action                 ("grow.overwrite = TRUE;")
  1466.         )
  1467.         (
  1468.         :from                   (pop_options set_overwrite "No")
  1469.         :when                   (Notify )
  1470.         :to                     (pop_mask_grow beg_frame)
  1471.         :function_type          ExecuteCode
  1472.         :arg_type               (:string)
  1473.         :action                 ("grow.overwrite = FALSE;")
  1474.         )
  1475.     )
  1476. )
  1477. (
  1478.     :type                   :setting
  1479.     :name                   set_display_growth
  1480.     :owner                  controls1
  1481.     :help                   ""
  1482.     :x                      39
  1483.     :y                      112
  1484.     :width                  239
  1485.     :height                 23
  1486.     :value-x                154
  1487.     :value-y                112
  1488.     :rows                   1
  1489.     :columns                0
  1490.     :layout-type            :horizontal
  1491.     :foreground-color       ""
  1492.     :setting-type           :stack
  1493.     :selection-required     t
  1494.     :label                  "Display growth:"
  1495.     :label-type             :string
  1496.     :notify-handler         nil
  1497.     :event-handler          nil
  1498.     :choices                ("All windows" "Grow window" "Not until done" )
  1499.     :choice-label-types     (:string :string :string )
  1500.     :choice-colors          ("" "" "" )
  1501.     :choice-defaults        (t nil nil )
  1502.     :initial-selections     (t nil nil )
  1503.     :initial-state          :active
  1504.     :user-data              ()
  1505.     :actions                (
  1506.         (
  1507.         :from                   (pop_options set_display_growth "All windows")
  1508.         :when                   (Notify )
  1509.         :to                     (pop_options set_display_growth)
  1510.         :function_type          ExecuteCode
  1511.         :arg_type               (:string)
  1512.         :action                 ("grow.disp_growth = DISP_ALL;")
  1513.         )
  1514.         (
  1515.         :from                   (pop_options set_display_growth "Grow window")
  1516.         :when                   (Notify )
  1517.         :to                     (pop_options set_display_growth)
  1518.         :function_type          ExecuteCode
  1519.         :arg_type               (:string)
  1520.         :action                 ("grow.disp_growth = DISP_GROW;")
  1521.         )
  1522.         (
  1523.         :from                   (pop_options set_display_growth "Not until done")
  1524.         :when                   (Notify )
  1525.         :to                     (pop_options set_display_growth)
  1526.         :function_type          ExecuteCode
  1527.         :arg_type               (:string)
  1528.         :action                 ("grow.disp_growth = DISP_WHEN_DONE;")
  1529.         )
  1530.     )
  1531. )
  1532. (
  1533.     :type                   :slider
  1534.     :name                   set_growth_speed
  1535.     :owner                  controls1
  1536.     :help                   ""
  1537.     :x                      50
  1538.     :y                      141
  1539.     :width                  278
  1540.     :height                 20
  1541.     :value-x                149
  1542.     :value-y                141
  1543.     :slider-width           70
  1544.     :ticks                  0
  1545.     :foreground-color       ""
  1546.     :label                  "Growth speed:"
  1547.     :label-type             :string
  1548.     :layout-type            :horizontal
  1549.     :orientation            :horizontal
  1550.     :show-endboxes          nil
  1551.     :show-range             t
  1552.     :show-value             t
  1553.     :min-value              1
  1554.     :max-value              2000
  1555.     :min-value-string       ""
  1556.     :max-value-string       ""
  1557.     :min-tick-string        ""
  1558.     :max-tick-string        ""
  1559.     :initial-value          2000
  1560.     :initial-state          :active
  1561.     :notify-handler         nil
  1562.     :event-handler          nil
  1563.     :user-data              ()
  1564.     :actions                (
  1565.         (
  1566.         :from                   (pop_options set_growth_speed)
  1567.         :when                   (Notify )
  1568.         :to                     (pop_options set_growth_speed)
  1569.         :function_type          ExecuteCode
  1570.         :arg_type               (:string)
  1571.         :action                 ("grow.speed = value;")
  1572.         )
  1573.     )
  1574. )
  1575. (
  1576.     :type                   :button
  1577.     :name                   but_defaults_options
  1578.     :owner                  controls1
  1579.     :help                   ""
  1580.     :x                      140
  1581.     :y                      168
  1582.     :width                  69
  1583.     :height                 19
  1584.     :constant-width         nil
  1585.     :button-type            :normal
  1586.     :foreground-color       ""
  1587.     :label                  "Defaults"
  1588.     :label-type             :string
  1589.     :initial-state          :active
  1590.     :menu                   nil
  1591.     :notify-handler         nil
  1592.     :event-handler          nil
  1593.     :user-data              ()
  1594.     :actions                (
  1595.         (
  1596.         :from                   (pop_options but_defaults_options)
  1597.         :when                   (Notify )
  1598.         :to                     (pop_options but_defaults_options)
  1599.         :function_type          ExecuteCode
  1600.         :arg_type               (:string)
  1601.         :action                 ("grow.swin = WIN_PAINT;
  1602. grow.seed_pt_src = SEED_EDIT;
  1603. grow.overwrite = TRUE;
  1604. grow.disp_growth = DISP_ALL;
  1605. grow.speed = 2000;
  1606.  
  1607. /* reset ui fields */
  1608. xv_set(Mask_grow_pop_options->set_starting_window,
  1609.     PANEL_VALUE, grow.swin,
  1610.     NULL);
  1611. xv_set(Mask_grow_pop_options->set_seed_points_source,
  1612.     PANEL_VALUE, grow.seed_pt_src,
  1613.     NULL);
  1614. xv_set(Mask_grow_pop_options->set_overwrite,
  1615.     PANEL_VALUE, grow.overwrite,
  1616.     NULL);
  1617. xv_set(Mask_grow_pop_options->set_display_growth,
  1618.     PANEL_VALUE, grow.disp_growth,
  1619.     NULL);
  1620. xv_set(Mask_grow_pop_options->set_growth_speed,
  1621.     PANEL_VALUE, grow.speed,
  1622.     NULL);")
  1623.         )
  1624.     )
  1625. )
  1626. (
  1627.     :type                   :button
  1628.     :name                   but_close_options
  1629.     :owner                  controls1
  1630.     :help                   ""
  1631.     :x                      294
  1632.     :y                      168
  1633.     :width                  51
  1634.     :height                 19
  1635.     :constant-width         nil
  1636.     :button-type            :normal
  1637.     :foreground-color       ""
  1638.     :label                  "Close"
  1639.     :label-type             :string
  1640.     :initial-state          :active
  1641.     :menu                   nil
  1642.     :notify-handler         nil
  1643.     :event-handler          nil
  1644.     :user-data              ()
  1645.     :actions                (
  1646.         (
  1647.         :from                   (pop_options but_close_options)
  1648.         :when                   (Notify )
  1649.         :to                     (pop_options)
  1650.         :function_type          :user_defined
  1651.         :arg_type               ()
  1652.         :action                 (Hide)
  1653.         )
  1654.     )
  1655. )
  1656. )
  1657.